-- Decompiled with the Synapse X Luau decompiler.

return {
	new = function(p1, p2)
		assert(p1, "class_script is nil");
		if not p1.ClassName or p1.ClassName ~= "ModuleScript" then
			warn("\228\188\160\229\133\165\233\148\153\232\175\175\229\143\130\230\149\176\239\188\129");
		end;
		local v1 = {};
		if p2 then
			v1.inherit = require(p2);
		end;
		v1.class = p1.Name;
		local v2 = {
			__index = v1.inherit
		};
		local u1 = {
			__index = v1
		};
		function v2.__call(p3, ...)
			local v3 = nil;
			v3 = setmetatable({}, u1);
			if not v1.ctor then
				return v3;
			end;
			local u2 = { ... };
			local v4, v5 = xpcall(function()
				v1.ctor(v3, table.unpack(u2));
			end, debug.traceback);
			if v4 then
				return v3;
			end;
			warn(v5);
			return v3;
		end;
		return setmetatable(v1, v2);
	end
};
